- 9 minutes to read

Configuration of the Nodinite Pickup Log Events Service Logging Agent

This guide provides step-by-step instructions for configuring the Nodinite Pickup Log Events Service Logging Agent. With proper configuration, you can collect Nodinite JSON Log Events from any supported source, enabling true end-to-end logging and monitoring.

Pickup Log Events Service Configuration (7.1.0)
Example of the Nodinite Pickup Log Events Service Logging Agent configuration interface in the Nodinite Web Client.

Before You Configure: The Pickup Service retrieves Log Events from intermediate storage and forwards them to Nodinite. But creating proper Log Events is your responsibility. Each Log Event must include a valid Message Type name—this determines which Search Field Expressions extract your business data. Without it, your events are logged but your data remains unextracted and invisible to searches. Learn more about Log Events and Message Types.

Specific Configurations

The agent supports the following specific configurations:

Tip

Use a matching Nodinite Monitoring Agent to monitor the health and performance of the Nodinite Pickup Log Events Service Logging Agent and its configurations.

AI Diagnostics

New 7.0.4

AI Diagnostics Tab
Example: AI Diagnostics tab for Pickup Log Events Service Logging Agent configuration.

Enable AI Diagnostics to automatically analyze errors and warnings from monitored picked-up log events. When issues occur, AI Diagnostics provides intelligent root cause analysis and actionable recommendations to accelerate troubleshooting.

Tip

Learn more about configuring and using AI-powered diagnostics in the AI Diagnostics documentation.

Settings Tab

The Settings tab contains two sub-tabs with global settings that affect the internal behavior of the Nodinite Pickup Log Events Service Logging Agent.

Settings Tab (6.1.0)
Example of the Settings tab in the Nodinite Pickup Log Events Service Logging Agent configuration interface.

Basic

Environment

Set the name of the target environment (for example, DEMO, TEST, QA, PROD). This feature is standard for all Monitoring Agents.

Allowed Hosts

Specifies which host headers are accepted by the application. Use * to allow all hosts, or provide a semicolon-separated list of allowed hostnames (e.g., example.com;*.example.com). This is a security feature to prevent host header attacks.

Log Level

Select the logging level for the agent (e.g., Error, Warning, Information, Debug). This is used for diagnostics logs.### Secret Management

For comprehensive guidance on securing secrets and managing certificates for the Nodinite Pickup Log Events Service Logging Agent, see Secret Management with Automatic Certificate Handling.

This includes:

  • ✅ Automated certificate generation and lifecycle management
  • ✅ Encryption of sensitive configuration data (connection strings, API keys, passwords)
  • ✅ Service account password change support (v7+)
  • Group Managed Service Account (gMSA) support for automatic password rotation
  • ✅ Certificate expiration monitoring and auto-renewal
  • ✅ Certificate expiration monitoring and auto-renewal

Secret Management

New 7.1

For comprehensive guidance on securing sensitive data and managing certificates for the Nodinite Pickup Log Events Service Logging Agent, see Secret Management with Automatic Certificate Handling.

This includes:

  • ✅ Automated certificate generation and lifecycle management
  • ✅ Encryption of sensitive configuration data (connection strings, API keys, passwords)
  • ✅ Service account password change support (v7+)
  • ✅ Certificate expiration monitoring and auto-renewal

Destination Tab

The Destination tab is identical across all Pickup Log Events Service intermediate source configurations. It determines where processed log events are delivered after being picked up from the source.

Two delivery modes are available:

  • Log API (default) – Events are forwarded through the Nodinite Log API to the Log Database. Supports optional OAuth 2.0 authentication.
  • Use Configuration DB – Events are written directly to the Nodinite Configuration Database, bypassing the Log API. Use for high-throughput scenarios where Log API overhead must be minimized.

Log API (Default)

Destination Tab
Example of the Destination tab in the ActiveMQ source configuration, using the Log API (default, unprotected).

Destination Tab
Example of the same Destination tab in the SQL Server source configuration — the content is identical regardless of source type.

Field Description Required Notes
Use Log API Enables forwarding events through the Log API Yes Uncheck only when enabling Use Configuration DB mode
Log API Base URL Base URL of your Log API instance Yes Example: http://{host}:{port}/LogAPI/
Protected Enables OAuth 2.0 authentication on the Log API endpoint No Check when your Log API requires authentication
Client ID Public identifier issued by your identity provider (IDP) Conditional Required when Protected is checked
Client Secret Confidential key for authentication Conditional Required when Protected is checked; store securely
Scope Space-separated list of access permissions Conditional Required when Protected is checked (e.g., read write)
IDP Token Endpoint URL for obtaining OAuth access tokens Conditional Required when Protected is checked

Destination Tab - Protected
Example of the Destination tab with Protected (OAuth 2.0) authentication enabled.

  • For development environments, use unprotected URLs (e.g., http://localhost:40002/LogAPI/)
  • For production, enable Protected and configure your OAuth 2.0 credentials with your identity provider
  • The IDP Token Endpoint must be network-reachable from the Pickup Service host
  • Keep Client Secret values secure; never commit them to version control

Use Configuration DB (Direct Write)

When Use Configuration DB is checked, log events bypass the Log API and are written directly to the Nodinite Configuration Database.

Field Description Required Notes
Use Configuration DB Enables direct writes to the Configuration Database, bypassing the Log API No Use only for high-throughput scenarios
Config DB Connection String SQL Server connection string to the Nodinite Configuration Database Conditional Required when Use Configuration DB is checked. Uses Microsoft.Data.SqlClient with modern TLS defaults

Destination Tab – Use Configuration DB
Example of the Destination tab configured for direct write to the Configuration Database.

Tip

For connection string examples, certificate validation, Always On Availability Groups, and security best practices, see SQL Server Connection Strings.

Warning

Direct database writes increase load on the Configuration Database. Only enable this when the Log API is a proven bottleneck.

Replace Rules – Clean Up Your Dynamic Endpoints Automatically

When services generate dynamic URLs or names (e.g., with IDs), you can quickly end up with hundreds of hard-to-track Endpoints. This clutter makes monitoring and troubleshooting harder.

Replace Rules solve this.

With Replace Rules, you define simple patterns that automatically clean up and standardize endpoint names and URIs before they are logged. This makes your logs easier to read, your dashboards cleaner, and your entire system easier to manage.

Tip

Use Replace Rules to prevent your environment from being flooded with meaningless endpoint variations.

New 7.x Starting with version 7.x, Replace Rules are managed through the Nodinite Web Client. The settings file is no longer edited manually.

On each intermediate storage configuration (e.g., ActiveMQ, File, Service Bus), you can define multiple Replace Rules. These rules apply to all endpoints processed by that configuration and you can manage then from the Remote Configuration feature in the Nodinite Web Client. Click on the Replace Rules section to add, edit, or remove rules as needed.

Replace Rules in Web Client
Example of Replace Rules management in the Nodinite Web Client.


How It Works

Replace Rules apply a regular expression (RegEx) to the original value, then replace parts of it with readable placeholders. You can apply the rule to either the name or the URI of an endpoint — or both.

New 6.0.1.0 Version 6.0.1.0 and later supports named groups in RegEx, making rules even more powerful.


Replace Rules Table

Property Description Example Value
Name Label to describe what the rule does Normalize customer endpoint URI
ReplaceName Check to update the Endpoint Name true
ReplaceUri Check to update the Endpoint URI true
Pattern RegEx to match values you want to clean /([0-9]{4,})$ or use named groups
Group1Value Value to insert instead of the matched part (leave blank if using named groups) {customerId}

Warning

Avoid using ReplaceName and ReplaceUri together in one rule — split into separate rules instead.


Examples

Original Value Pattern Group1Value Result
https://www.nodinite.com/int042/getCustomer/12345 /([0-9]{4,})$ {customerId} https://www.nodinite.com/int042/getCustomer/{customerId}
INT(101) 101 100 INT100
INT101 INT101 INT100 INT100
https://www.nodinite.com/api/envelopes/H1ZUP5uDh/documents/rJxZ8P5OP2/files/CDRS1QQ1U7ul_o7n/url?asObject=true#GET https://www.nodinite.com/api/envelopes/(?<envId>\w+)/documents/(?<docId>\w+)/files/(?<fileId>\w+) (blank) https://www.nodinite.com/api/envelopes/{envId}/documents/{docId}/files/{fileId}/url?asObject=true#GET

Warning

Don’t skip this!
If you ignore Replace Rules during setup, you may end up with thousands of messy Endpoints.
Reach out to Support if you need help cleaning them up.


JSON Examples

"ReplaceRules": [
  {
    "Name": "Normalize file-based URI with named groups",
    "ReplaceName": false,
    "ReplaceUri": true,
    "Pattern": "https://www\\.nodinite\\.com/api/envelopes/(?<envId>\\w+)/documents/(?<docId>\\w+)/files/(?<fileId>\\w+)",
    "Group1Value": ""
  },
  {
    "Name": "Standardize INT name pattern",
    "ReplaceName": true,
    "ReplaceUri": false,
    "Pattern": "INT(101)",
    "Group1Value": "100"
  }
]

Configuration File Overview

To manually configure the Nodinite Pickup Log Events Service Logging Agent, you edit the Settings.json file.

Note

This paragraph applies to versions <7.1.x. Later versions include a Remote Configuration feature that allows configuration via the Nodinite web interface (Web Client).

This file is located in the installation directory of the Nodinite Pickup Log Events Service Logging Agent.

For version 7.1 and later, the default path is:

C:\Program Files\Nodinite\%ENVIRONMENTNAME%\Agents\PickupService\Settings.json

and for version 6.x, the default path is:

C:\Program Files\Nodinite\Logging Agent - Pickup Service\Settings.json

Important

You must restart the Nodinite Pickup Log Events Service Logging Agent after making any changes to the configuration file for updates to take effect.

Regardless of the intermediate storage source, the following sections apply to all configurations:

Key Configuration Fields

General

The General section contains global settings that affect the internal behavior of the Nodinite Pickup Log Events Service Logging Agent.

Property Description Value Example Comment
Environment Name of the environment where the agent runs Test, Prod, QA
Debug Enables detailed diagnostics logging true or false (default) Set to false in production
Version Internal version number for the configuration file 1.2.3.4 Read only – do not change manually
CultureInfo Formats date and time output SV-SE, EN-us Not currently implemented

Shared Configuration

Property Description Value Example Comment
Enabled Enables or disables logging true or false Temporarily disable pickup service without removing configuration
Log API Address of the Nodinite Log API https://localhost/Nodinite/Dev/LogAPI/ Update as needed for your environment
UseConfigurationDatabase Bypass the LogAPI for high-throughput scenarios true or false Use only for high-performance needs; may increase system load
ConfigurationDatabaseConnectionString SQL Server connection string to the Nodinite Configuration database (uses Microsoft.Data.SqlClient with modern TLS defaults) Server=localhost;Database=NodiniteConfig_Dev;Integrated Security=True;Connection Timeout=60;TrustServerCertificate=true See SQL Server Connection Strings for certificate validation, AOAG, troubleshooting, and security

Example Configuration File

Tip

This applies only to versions < 7.1.x.

See the Troubleshooting section for a fully populated configuration file.

Next Step